This invention relates to an electronic program guide ("EPG") system that provides users with schedule information for broadcast or cablecast programs available for viewing on a video display. More particularly, it relates to a system and method for verification of the EPG data prior to transmission to a plurality of remote locations such as cable system head ends or viewer sites.
Electronic program guides for television systems are known in the art, particularly with regard to cable television systems. For example, one common implementation of a electronic program guide utilizes a dedicated cable television channel for continuously broadcasting program schedule information. The advantage of such a system is that it is relatively easy to deploy because it is centrally implemented at the cable head-end. No additional electronics or software are required at the viewer location because full control of the display is maintained at the cable head-end. The display information is then broadcast continuously on a dedicated cable channel. The television viewer simply tunes the cable converter box or television tuner to the channel on which the schedule information is modulated and views the program listings. Typically, these program guides utilize a scrolling display of television listings or a fixed display that periodically changes. Some systems employ a partial screen of listings with additional information in the remainder of the screen such as advertisements for movies on pay channels, pay-per-view (PPV) event schedules, time and weather information, and other commercial information. These systems generally incorporate a grid or matrix to display the program schedule information, with a different row for each channel and columns representing different time slots.
In addition, interactive program guides are also known. Such guides permit the user to select the program listings to be displayed based on user selection criteria and display the listings on the television receiver in a desired format. Interactive guides are more versatile than dedicated channel guides because they operate under user control. However, they are more costly to implement because they require memory and processor capabilities at each user site. The present invention may be used with either dedicated channel or interactive program guides because it operates on the program listings data common to both types of guides.
Modern cable systems include upwards of 100 channels. Thus, for both dedicated channel and interactive program EPGs, large quantities of data are required to provide a complete listing of program schedule information. A problem common to both types of systems is that there are often errors in the data that must be corrected. Errors may arise for any number of reasons. First, it is common for a complete database of program listings to be compiled from several different sources. Much of the data is available on a national basis, including network schedules (both broadcast and cable), pay-per-view listings, and regional programming. Some data, however, must be obtained at a local level, including locally originated programs, channel maps for individual cable systems, and pricing for pay-per-view programs. The fact that there is no single entity responsible for compilation of the entire listings database increases the risk of errors. For example, a portion of the data may need to be converted to a different format before it can be utilized in the program guide.
Second, the listings database contains an enormous amount of data. Electronic program guides, whether of the dedicated channel or interactive variety, include a database comprising the program listings information for the various stations and pay-per-view channels. The listings data may be arranged in weekly blocks or other time periods. As an example, consider a cable system with eighty (80) channels, each one broadcasting 24 hours a day. Assuming for each station a daily average of four hours of two-hour programs, five hours of on-hour programs, and the balance comprising one-half hour programs, 37 different programs are aired per channel per day. Thus, a one week database comprises on average information for 37.times.80.times.7=20,720 programs. Although many programs repeat on a daily basis, it is apparent that even one weeks' worth of program listings for the average cable system is a very large amount of data. In addition, while much of the data may be compiled in advance, a substantial number of listings must be added, and schedule changes accounted for, shortly before the data is transmitted to the various cable systems. The volume of data makes it difficult and time consuming to manually ensure its reliability.
Finally, certain programs, primarily sports events, are not scheduled as far in advance as other programs. For example, although a time slot may be slated for a baseball game, it may not be known until one week or less in advance of the scheduled game, the particular game to be broadcast. There is thus a need to efficiently and quickly identify entries in a listings database that require editing of one form or another either to add information or correct errors.
A program listings database with incorrect listings or incomplete information is of limited utility. There is thus a need to ensure the reliability of the data transmitted to the cable systems and ultimately to viewers. However, because the volume of data is so great, there is a need for an automated procedure for verification of the data to reduce the number of manual hours required. There is thus a need for an automated system and method of reviewing the EPG data and flagging any errors therein. In addition, there is a need to provide a list of any such errors to a database editor to permit the editor to take whatever corrective action is necessary. In addition, different data may need to be generated for different cable systems because, e.g., each cable system may have different local programming or pay-per-view programs or schedules.
One factor that complicates the task is the need for a program listings database to be compatible with a plurality of different platforms. Different cable systems may have different hardware configurations at the cable system head-end and different set-top converter boxes at the viewer locations. For example, EPGs typically display program listings in grid format with columns representing different time slots and rows representing different channels. Set-top converters vary with regard to their text display capabilities. Some may display text using a proportional font while others use a standard font. In addition, some are configured to display symbols in the grid cells in addition to text which decreases the available space for text display. Thus, the database must be configured in such a way to accommodate the varying capabilities of set-top converters. One way to accomplish this is by editing the text (program titles, copy, station identifications, and any other text included in the EPG) to abbreviate any text that does not fit into a particular grid cell. A system for assisting in this "text fit" process is described in co-pending application Ser. No. 08/247,059. Thus, when verifying the data prior to transmission to a cable system, it is necessary to specify the platform on which the EPG operates so as to determine if the listings are properly edited for the particular platform.
The system and method of the present invention provides for automated checking of the program listings data in the database. The disclosed invention solves these and other problems of prior art EPG systems by providing a system and method for verification of the EPG data prior to transmission to a cable or other pay television system (or prior to transmission to viewers). Prior to being processed by the data verification system of the present invention, the database of television program schedule listings may undergo initial processing as follows. First, the data is collected from the various information providers and checked for high level errors. Next, it may be required to normalize the data to the EPG database structure and format as it is possible that the information collected from the different sources uses different formats and syntax. Finally, the data may be processed with a text fit system to determine if any titles in the database require editing in order to fit within a grid cell of a predetermined size for any of the different platforms on which the EPG will operate. Alternatively, the text fit process may be incorporated as part of the listing verification process so that text requiring editing to fit within a particular grid cell size is identified and presented to the user for editing if not already included in a library or look-up table of pre-edited text.
At this stage, the listing verification system and procedure of the present invention operates on the data to check for any errors in the data. In particular, checks may be run for any missing stations, schedule gaps, schedule overlaps, missing titles, missing copy, missing fields (i.e., run time, slot time, program type), missing movie ratings, missing program origin, missing PPV price, PPV events on non-PPV station, non-PPV event on PPV station, inappropriate language, lengthy titles, lengthy copy, and editorial errors. "Lengthy" as used herein refers to text that is too long to fit into the allocated grid space in the program guide. Errors are automatically written to output files and separate files are used for each of the above parameters.
The database may also be processed by additional steps such as a program listings editing system to cream, delete, or modify individual program listings and a channel map editing system to create, delete, or modify individual channel maps, which contain information identifying the stations carried by a cable system as well as the on-air times for each station. The program listings may be searched using the program title, program identification number (PIN), or station name. It is preferable to perform these editing steps prior to listing verification and text fit to ensure that all of the data in the data file has been processed by these latter two steps. Alternatively, the listing verification process may be re-run if any editing is performed after initial verification of the data. Finally, an extract process is run against the database to create data files containing cable system specific data based on a specified date range and channel map. The data files may be ASCII or tightly packed binary files readable by the cable system to which it is destined. Finally, the data is processed according to the specific platform and transmitted to the designated cable system. Cable system as used herein is not limited to standard cable television systems but includes direct broadcast television systems, over-the-air pay television systems, and any other television program distribution system including central control over the distribution of a television signals for a plurality of stations.